Public: Technology Reviews : NPE when launching installer extensions
This page last changed on Oct 26, 2008 by scytacki.
This a bug on OSX 10.4 with Java 1.5.0_16: java version "1.5.0_16" When a jnlp file uses installer extensions in this environment the following error occurs: Exception in thread "javawsApplicationMain" java.lang.NullPointerException Here is a jnlp to test this: http://jnlp.concord.org/dev/mozswing2/mozswing.jnlp This problem can be fixed by patching the deploy.jar with this script: cd /tmp ; curl http://confluence.concord.org/download/attachments/10877/deploy-1.5.0_16-fix.jar > deploy-1.5.0_16-fix.jar ; unzip deploy-1.5.0_16-fix.jar ; sudo zip -u "/System/Library/Frameworks/JavaVM.framework/Home/lib/deploy.jar" com/sun/deploy/config/MacOSXConfig.class ; rm com/sun/deploy/config/MacOSXConfig.class deploy-1.5.0_16-fix.jar ; cd - 32bit Macs running OSX 10.5 also use Java 1.5.0_16, but they don't have this bug. They report their java version as: 1.5.0 (32-bit): An alternative fix to the one above might be to copy the deploy.jar from a 10.5 mac to a 10.4 one. This hasn't been tested but I think it will work. More details on the fixThe fix above was created by decompiling deploy.jar and javaws.jar. The problem was tracked down to the following piece of code: com.sun.deploy.config.Config: public String escapeBackslashAndQuoteString(String in) { return null; } This Config class is subclassed by a MacOSXConfig class:
My fix above updates the MacOSXConfig class to override this method and return the passed in string.
|
Document generated by Confluence on Jan 27, 2014 16:56 |